home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / IDLIncludes / Disks.idl < prev    next >
Text File  |  1996-05-01  |  2KB  |  58 lines

  1. /*
  2.      File:        Disks.idl
  3.  
  4.      Contains:    Disk Driver Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.0d3 on Copland DR1
  8.  
  9.      Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10.  
  11.      Bugs?:        If you find a problem with this file, send the file and version
  12.                  information (from above) and the problem description to:
  13.  
  14.                      Internet:    apple.bugs@applelink.apple.com
  15.                      AppleLink:    APPLE.BUGS
  16.  
  17. */
  18. #ifndef __DISKS_IDL__
  19. #define __DISKS_IDL__
  20.  
  21. #include <somobj.idl>
  22. #include <somcls.idl>
  23.  
  24. #ifndef __TYPES_IDL__
  25. #include <Types.idl>
  26. #endif
  27. #ifndef __OSUTILS_IDL__
  28. #include <OSUtils.idl>
  29. #endif
  30.  
  31. #ifdef __SOMIDL__
  32.  
  33. /*
  34.     Note:
  35.     
  36.     qLink is usually the first field in queues, but back in the MacPlus
  37.     days, the DrvSts record needed to be expanded.  In order to do this without
  38.     breaking disk drivers that already added stuff to the end, the fields 
  39.     where added to the beginning.  This was originally done in assembly language
  40.     and the record was defined to start at a negative offset, so that the qLink
  41.     field would end up at offset zero.  When the C and pascal interfaces where
  42.     made, they could not support negative record offsets, so qLink was no longer
  43.     the first field.  Universal Interfaces are auto generated and don't support
  44.     negative offsets for any language, so DrvSts in Disks.a has qLinks at a 
  45.     none zero offset.  Assembly code which switches to Universal Interfaces will
  46.     need to compensate for that.
  47.  
  48. */
  49. typedef SOMLargeStruct            DrvSts;                        /* Derived from a struct of 22 bytes in size */
  50.  
  51. typedef SOMLargeStruct            DrvSts2;                    /* Derived from a struct of 29 bytes in size */
  52.  
  53.  
  54. #endif /* __SOMIDL__ */
  55.  
  56. #endif /* __DISKS_IDL__ */
  57.  
  58.